
/*分页功能*/
function Pager() {

    this.bind = function (tag) {
        var pageHtml = "<div class='pager_style'><ul class='page_num'></ul><ul class='page_info'><li>总数:<span id='count'>0</span></li><li>每页:<span id='pageSize'>0</span></li><li>页数:<span id='pageToal'>0</span></li></ul></div>";
        if ($.trim($(tag).html()).length < 1) {
            $(tag).append(pageHtml);
        }
    }

    //初始化分页
    /*
    index:当前页
    count:数据总数
    pageSize:每页显示的条数
    pageDis:每次要显示的页码数  次数为基数
    */
    this.initPage = function (index, count, pageSize, pageDis, callBack) {

        if (count < 1 || pageSize < 1 || pageDis < 1) {
            //页码数据不正确
            return;
        }
        //总页数
        var pageToal = Math.ceil(count / pageSize);


        //如果超出了显示范围
        if (index < 1) {
            index = 1;
        } else if (index > pageToal) {
            index = pageToal;
        }
        else {
            ;
        }

        //要显示的页码开始数
        var startNum = 0;

        //要显示的页码结束数
        var endNum = 0;

        //如果总页数小于了要显示的页数
        if (pageToal < pageDis) {
            startNum = 1;
            endNum = pageToal;
        } else {
            startNum = index - parseInt((pageDis - 1) / 2);
            endNum = index + parseInt((pageDis - 1) / 2);

            //如果要显示的最小页码小于1
            if (startNum < 1) {
                endNum += (-startNum) + 1;
                startNum = 1;

            }

            //如果要显示的尾页大于了总页数
            if (endNum > pageToal) {
                startNum -= (endNum - pageToal);
                endNum = pageToal;
            }
        }

        $(".page_num").empty();

        if (index == 1) {
            $(".page_num").append("<li class = 'disable'>首页</li>");
            $(".page_num").append("<li  class = 'disable'>上一页</li>");
        }
        else {
            $(".page_num").append("<li>首页</li>");
            $(".page_num").append("<li>上一页</li>");
        }



        for (i = startNum; i <= endNum; i++) {
            if (index == i) {
                $(".page_num").append("<li class = 'active'>" + i + "</li>");
            }
            else {
                $(".page_num").append("<li>" + i + "</li>");
            }
        }

        if (index == pageToal) {
            $(".page_num").append("<li class = 'disable'>下一页</li>");
            $(".page_num").append("<li class = 'disable'>尾页</li>");
        } else {
            $(".page_num").append("<li>下一页</li>");
            $(".page_num").append("<li>尾页</li>");
        }


        //分页信息
        $("#count").text(count);
        $("#pageSize").text(pageSize);
        $("#pageToal").text(pageToal);

        $(".pager_style").removeClass("none");

        //添加事件
        addClick(callBack);
    }

    this.dismiss = function () {
        $(".pager_style").addClass("none");
    }

    function addClick(callBack) {

        //添加点击事件
        $(".page_num li").bind("click", function () {

            //选中的和disable的不可点击
            if ($(this).attr("class")) {
                return;
            }

            //当前页
            var index = parseInt($(".page_num .active").text());

            //选中的内容
            var txt = $.trim($(this).text());

            //选中的页码
            var ckNum = 0;
            if (txt == "首页") {
                ckNum = 1;
            }
            else if (txt == "上一页") {
                ckNum = index - 1;
            } else if (txt == "下一页") {
                ckNum = index + 1;
            } else if (txt == "尾页") {
                ckNum = parseInt($("#pageToal").text());
            } else {
                ckNum = parseInt($(this).text());
            }

            callBack(ckNum);

        });
    }
}